System, article, method and apparatus for creating event-driven content for online video, audio and images

ABSTRACT

What is provided is a system, computer-implemented method, apparatus and article for interacting with video, audio and/or picture content by providing business rules, response rules, instructions and/or URL pointer data for client side generation. The system does not receive nor store the video, audio and/or picture content, nor the interactive content piece to be enabled upon the video, audio and/or picture content.

PRIORITY CLAIM

This patent application claims priority to and the benefit of the filingdate of provisional patent application U.S. Ser. No. 61/918,700 filed onDec. 20, 2013, which is incorporated herein in its entirety.

FIELD

This patent application relates to creating event-driven content foronline video, audio and images adapted for playing on a computingplatform.

BACKGROUND

Event-driven content enabled upon a video is known, which is adapted forviewing upon a computing platform, including event-driven content thatis adapted for a user to select for displaying upon the computingplatform. Methods for creating event-driven content are known, includinga client sending a video file to a system for adding event-drivencontent. The system creates the interactive enabled content by: taggingimages within the video for overlaying content; creating or receivingthe event-driven content to be enabled upon the video; associatingevent-driven content with the tagged images; coding an embedded beddedfile with the event-driven content and image tagging information forwhere/when to make the event-driven content accessible within the video;compiling the embedded file onto the video file; and sending theembedded video file back to the client. Such systems typically store thevideo files and imbedded content files, and the system creates theembedded video file by a system server and then sends the package of thevideo, event-driven content and overlaying instructions, back to theclient. Prior systems may use Flash coding and Flash players for theevent-driven content and video playback. The imbedded content ispre-defined and static once encoded into the embedded file. The embeddedcode includes instructions and content for responding to events enabledupon the video, and user clicks or selections of event-driven contentfor executing the event-driven content. This means that interactiveresponses are pre-defined and fixed in the embedded code that is sent toa user device for playing. The event-driven content does not change fordifferent users viewing the embedded video. Typically, if event-drivencontent is selected by a user, the video play stops.

SUMMARY

What is provided is a system, computer-implemented method, apparatus andarticle for creating event-driven content for online video, audio andimages using a source video, audio and/or picture file by providingbusiness rules, response rules, instructions and/or URL pointer data forclient side generation, and/or viewing of event-driven content upon thesource video, audio and/or picture file. The system does not receive norstore the source video, audio and/or picture files, nor the interactivesource file(s) (i.e. Clixies™).

The management system may be provided to users as Software as a Service(“SaaS”) that includes: 1. a management tool; 2, an authoring toot; and,3. an analytics tool. The management system is accessible through astandard HTML5 web browser and does not require dedicated computerhardware or software. The management tool allows a user to manage thevideos, interactive source files (such as Clixies™) and visual markers.The authoring tool allows a user to produce the event-driven content forthe videos, audio and pictures. The analytics tool allows a user to viewstatistics about web users' interactions with the videos, audio andpictures.

The management tool of the backend server is adapted to interact/manageall elements contained within the system, such as (but not limited to)content, interactive source files (such as Clixies™), visual markers,etc.

The authoring tool of the backend server is adapted to provideinstructions to a client or web user's computing platform for mappingevent-driven content to a video, audio and/or picture source file, andfor mapping and synchronizing the event-driven content to the sourcefile.

The authoring tool is adapted for authoring, creating, and/or mappingthe event-driven content and the synchronization of the event-drivencontent for the source content; based upon the business rules, responserules, instructions and/or pointers in the backend server. The tool maygenerate multiple event-driven content actions for an event and havedifferent event content displayed for different users based upon userdata, such as user location. The authoring tool is used to createevent-driven content enabled upon video, audio and/or image content.This is done without having to download or install hardware/software onthe author's computing platform, or sending the content to a third-partyservice provider for packaging embedded code files with the content; orfor encoding, decoding or hosting the video files for adding theevent-driven content. The authoring tool allows for new event-drivencontent to be added to a video, audio or image; or the event-drivencontent to be edited for a video, audio or image, without requiring theauthor to reproduce the video, audio or image with the event-drivencontent by encoding, decoding or packaging it. The authoring tool isadapted to provide different event-driven content based upon a viewersgeographic location.

The analytics tool of the management system is adapted to providetracking and reporting of user behavior with the event-driven content,such as, but not limited to, clicks, false clicks, geographic location,local time, heat map, etc.

The system may include one or more analytics metrics adapted for use intracking and analyzing user interaction with the event-driven content.For example, the user's order of selections of the event-driven contentmay be tracked. For example, “false clicks” or areas where a user clicksin an attempt to view event-driven content (even if no content exists atthe position of the user click) may be tracked. For example, userclick-through to a third party website for viewing and/or purchasingproducts features in event content may be tracked.

The backend server comprises an application layer, HTTP server,independent database layer and a response server. The application layerallows the web user to define the event-driven content. The HTTP serverhelps to deliver web content that can be accessed through the Internet,the independent database layer stores all information related to thesystem and users. The response server is a module designed to escalateand respond to a large number of users. The backend server responds tothe following events such as, but is not limited to, video start, videoclick, video stop, video pause, video play, click, tap, etc. created b rthe web users through the HTTP/HTTPS protocols (but is not limited tothese). Upon the web user creating an event, such event then determineswhich action(s) to communicate to the web user. The system is adapted tocreate event-driven content that may be selected by a user withoutinterrupting video/audio play.

The application layer is adapted for storing business rules, responserules, instructions and/or pointer data in a rules database, for use ingenerating event-driven content upon a source file. When an eventoccurs, the application layer processes the event in the followingmanner: 1) receives event—the system will register the event, detect theuser and determine the object detection mechanism; 2) objectdetection—determines if the event was generated in an object previouslydefined; 3) resolves action—if an object has been detected or not, thisstep will generate the calculated properties and define a properresponse; and 4) respond action—a response is sent to the web user. Therules and/or instructions may be used to define multiple event-drivencontent to be associated with a Clixie™ and/or visual marker. TheClixies™ and/or visual markers may include more than one form ofcontent, such as but not limited to, image, text, audio, video, forms,animation, social links, URL, HTML content, third party website content,and the like), and/or may include different content to be associatedwith the video, audio or image file depending upon one or more user dataand/or event properties, such as the user's geographic location. Forexample, depending upon a geographic location of a user, event-drivencontent may be displayed in different languages and/or include differentretail sources for purchasing products highlighted by the event-drivencontent.

The system includes a library or database for indexing visual markers,Clixies™ and video/audio/image information. The visual markers can beused to identify what image on the video is event-driven, type ofresponse the web user will receive (i.e. a “shopping cart” visual markermay take you to eCommerce site) or the visual marker can be anevent-driven action itself, which will also respond accordingly. TheClixies™ are HTML, json and/or xml based content, which may be indexedlocally (on the backend) or remotely from the system. The Clixies mayuse at least one (1) URL to the indexed image source content (the sourcecontent is stored remotely from the backend server, such as in a cloudbased or third party repository); and requires a URL for theevent-driven content (i.e. eCommerce, informational or social).Additionally, at least one reference to the backend server businessrule(s) used for creating a response for the event-driven content forthe video/audio/image, including (but not limited to): banner display,page jump or dependent actions; and at least one URL to the event-drivencontent (which is indexed remotely from the backend server, such as in acloud based or third party memory).

The Clixies™ and/or visual markers may include (but are not limited to)image data, text data, video data, one or more URLs for one or morethird party websites, HTML content for accessing further third partywebsite content beyond the event-driven content, and other content. TheClixies™ and/or visual markers data (apart from the event-driven contentdata comprising the URL pointers indexed in the event library describedabove) may be indexed in one or more third party databases on the clientside with, a viewing user or other user, or in a cloud-based storage, orremotely with a third party.

The source video/audio/image content may be stored in one or more thirdparty databases on the client side with an author user, a viewing useror other user, or in a cloud based storage, or remotely with a thirdparty.

The system includes a web portal that has an HTML5-based graphical userinterface (GUI) adapted for display upon a web user-computing platform,for users to access the management system of the backend server. HTML 5is used for at least one example. Users may include, but are not limitedto, viewing users and author users.

The system may optionally include a client side, cloud-based or remotecontent repositories for storing source video/audio/image content. Othersystem examples do not include a repository for sourcevideo/audio/image, but use content stored by authors/creators of theevent-driven content or other users.

The system may optionally integrate into one or more client sidecomputing platforms. Other system examples may not include integrationinto client side computing platforms.

Unlike prior systems, the present system does not store or loadevent-driven content responses in code added to or embedded in thesource video/audio/image. The present system does not store or editsource video/audio/image content. It does not change thevideo/audio/image file format. The present system does not storeenabled. content on the server side, but instead use event-drivencontent to determine responses from the back-end server that remainseither on the client side or with a third party.

BRIEF DESCRIPTION OF THE DRAWINGS

Subject matter is particularly pointed out and distinctly claimed in theconcluding portion of the specification. Claimed subject matter,however, as to structure, organization and method of operation, togetherwith objects, features, and advantages thereof, may best be understoodby reference to the following detailed description if read with theaccompanying drawings in which:

FIG. 1 is a system diagram illustrating an example system for trackingevents in source content;

FIG. 2 is a flow chart illustrating an example method of processing anevent to generate an action, by the system of FIG. 1;

FIG. 3 illustrates an example sensitive area enabled upon a video playarea of a web portal of the present system;

FIG. 4 is a system diagram illustrating a second example system forgenerating or viewing event-driven content enabled upon a source video;

FIG. 5 is a flow chart illustrating an example method of displayingevent-driven content, by the present system;

FIG. 6 is a block diagram illustrating the backend server architecture;

FIG. 7 is a graphical user interface drawing illustrating an example GUIfor the authoring tool of the present application;

FIG. 8 is a graphical user interface drawing illustrating an example GUIfor editing projects with the authoring tool of the present application;

FIG. 9 is a graphical user interface drawing illustrating an example GUIfor associating/linking an already created Clixie™ (indexed in alibrary) to a source video, to be accessed by the authoring tool of thepresent application;

FIG. 10 is a graphical user interface drawing illustrating an exampleGUI for creating new Clixies™ to be accessed by the authoring tool ofthe present application; and

FIG. 11 is a graphical user interface drawing illustrating an exampleGUI for associating a visual marker with a Clixie™ to be accessed by theauthoring tool of the present application.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are setforth in order to provide a thorough understanding of the examples asdefined in the claimed subject matter, and as an example of how to makeand use the subject matter described herein. However, it will beunderstood by those skilled in the art that claimed subject matter isnot intended to be limited to such specific details and may even bepracticed without requiring such specific details. In other instances,well-known methods, procedures, and components have not been describedin detail so as not to obscure the examples defined by the claimedsubject matter.

Some portions of the detailed description that follow are presented interms of flow chart processes, algorithms and/or symbolicrepresentations of operations on data bits and/or binary digital signalsstored within a computing system, such as within a computing platformand/or computing system memory. These descriptions and/orrepresentations are the techniques used by those of ordinary skill inthe data processing arts to convey the substance of their work to othersskilled in the art. A flow chart process and/or algorithm is here andgenerally considered to be a self-consistent sequence of operationsand/or similar processing leading o a desired tangible result. Theoperations and/or processing may involve physical manipulations ofphysical quantities. Typically, although not necessarily, thesequantities may take the form of electrical and/or magnetic signalscapable of being stored, transferred, combined, compared and/orotherwise manipulated. It has proven convenient at times, principallyfor reasons of common usage, to refer to these signals as bits, data,values, elements, symbols, characters, terms, numbers, numerals and/orthe like. It should be understood, however, that all of these andsimilar terms are to be associated with appropriate physical quantitiesand are merely convenient labels. Though these descriptions are commonlyused in the art and are provided to allow one of ordinary skill in thisfield to understand the examples provided herein, this application doesnot intend to claim subject matter outside of the scope of 35 U.S.C.101, and claims and claim terms herein should be interpreted to havemeanings in compliance with this statute's requirements.

Unless specifically stated otherwise, as apparent from the followingdiscussion, it is appreciated that throughout this specificationdiscussions utilizing terms such as “processing”, “computing”,“calculating”, “determining”, “identifying” and/or the like refer to theactions and/or processes of a computing platform, such as a computer ora similar electronic computing device that manipulates and/or transformsdata represented as physical electronic and/or magnetic quantitiesand/or other physical quantities within the computing platform'sprocessors, memories, registers, and/or other information storage,transmission, reception and/or display devices. Accordingly, a computingplatform refers to a system, a device, and/or a logical construct thatincludes the ability to process and/or store data in the form ofsignals. Thus, a computing platform, in this context, may comprisehardware, software, firmware and/or any combination thereof. Where it isdescribed that a user instructs a computing platform to perform acertain action, it is understood that instructs may mean to direct orcause to perform a task as a result of a selection or action by a user.A user may, for example, instruct a computing platform to embark upon acourse of action via an indication of a selection, including, forexample, pushing a key, clicking a mouse, maneuvering a pointer,touching a touch screen, and/or by audible sounds. A user may, forexample, input data into a computing platform such as by pushing a key,clicking a mouse, maneuvering a pointer, touching a touch pad, touchinga touch screen, acting out touch screen gesturing movements, maneuveringan electronic pen device over a screen, verbalizing voice commandsand/or by audible sounds.

Flowcharts, also referred to as flow diagrams by some, are used in somefigures herein to illustrate certain aspects of some examples. Logicthey illustrate is not intended to be exhaustive of any, all, or evenmost possibilities. Their purpose is to help facilitate an understandingof this disclosure. To this end, many well-known techniques and designchoices are not repeated herein so as not to obscure the teachings ofthis disclosure. Those of ordinary skill will appreciate that there aremany ways to code functionality described in flow charts in many variouscomputing languages and using various computing protocols. Claimedsubject matter is not intended to be limited to a particular computerlanguage or coding of the processes and subject matter described herein.Those of ordinary skill will appreciate that functionality or stepsdescribed in flow charts may be implemented using different orders ofsteps or actions from those specifically shown in the flow charts,unless specifically stated otherwise. Those or ordinary skill willappreciate that flow charts may not include all processes that may beused within the scope and spirit of the present application, but merelyprovide single examples of one manner of practicing the subject matterdisclosed herein. Other processes and/or additions to processesdisclosed are possible within the scope and spirit of this application.

Throughout this specification, the term system may, depending at leastin part upon the particular context, be understood to include anymethod, process, apparatus, and/or other patentable subject matter thatimplements the subject matter disclosed herein.

As shown in FIG. 1, system 100 may receive event 102 from a web baseduser application (or app) 104. Web user app 104 may be a client, viewinguser or other user. There may be one or more web users with web user app104. The system 100 includes a web portal 105 with a graphical userinterface (GUI) that may be displayed by web user app 104, such as a webbrowser or application. Web portal 105 may be viewable with a standardweb browser, such as Internet Explorer®, Mozilla®, Safari® and/orChrome®. Web portal 105 may be HTML 5 based in at least one example. Webuser app 104 may access system 100 by a computing platform, such as butnot limited to, a mobile device, tablet, desktop or laptop computer, andothers known in the art. The computing platform may operate with variousoperating systems known in the art, such as but not limited to,Microsoft Windows® or mobile device operating systems, Apple® operatingsystems, Android™ operating systems, and the like. An example computingplatform is described herein below, though claimed subject matter is notintended to be limited in this regard.

Event 102 may be any user action that may trigger event-driven contentto be displayed on web portal 105. Event 102 may include a mouse-click,mouse-over, touching a touchscreen, a keystroke or keyboard typing,other data input, generating a specific sound or speech, among manyother possibilities of user actions that may be performed. Event 102 iscommunicated to system 100 through the web portal 105 through, but notlimited to, HTTP/HTTPS protocols. For example, upon viewing a visualmarker on web portal 105, web user using web user app 104 may click amouse upon the visual marker. This mouse click event 102 may becommunicated to system 100 via web portal 105.

System 100 includes a backend server 106. Backend server 106 may providebusiness rules, response rules, instructions and/or pointers for clientside creation of event-driven content, client side enabling event-drivencontent upon one or more video, audio and/or picture source files,and/or playing of event-driven content enabled upon source files,Backend server 106 may include a database that is adapted to store thebusiness rules, response rules, instructions and/or pointer data.

Backend server 106 may comprise a response server 109, a managementsystem 111, an authoring tool 113 and an analytics tool 115. Responseserver 109 may be adapted to receive one or more events 102 from clientsand/or computing platforms of web users 104. Management system 111 maybe adapted to manage creation, editing and/or deleting of video, audio,picture, Clixies™, visual markers and/or social Authoring tool 113 maybe used by an author web user app 104 for generating event-driven, markpositions and/or timings within a source video for event-driven content,and/or placing one or more visual markers within a source video, audioand/or picture file during its display and/or playing. Analytics tool115 may be adapted to capture, store and display data associated withevent 102. As such, the present system 100 includes server sideprocessing for event-driven content, as opposed to client sideprocessing of encoded embedded event-driven content that is packaged onthe server side and sent to the client side for executing.

Response server 109 may be a HTTP server, such as but not limited to, anApache™, Tomcat™ and/or Java® server. There may be more than oneresponse server 109 in various examples. Response server 109 may includemultiple response servers and as such, may be escalated and adapted torespond to multiple users 104 and receipt of multiple events 102.Response server 109 may comprise multiple response servers 109 in oneserver and/or across multiple servers.

Response server 109 may process event 102. In response to receipt ofevent 102, response server 109 may process event 102, and an action 108may result. Action 108 may be communicated to web user app 104 via webportal 105. Action 108 may include display of interactive content pieces(such as Clixies™) on web portal 105.

Backend server 106 also may optionally contain an analytics tool 115and/or a tracking application that is adapted to record, gather, assess,and/or report events 102. The analytics tool 115 may gather, assess,organize and/or report analytical data about web user app 104, includinguser behavior using web user app 104, geographic location, user actions(events 102), timing of events 102, order of events 102, whether anevent 102 produces an action 108 to display Clixies™, and/or whether anevent 102 does not produce an action 108, such as if a web user 104clicks upon an area that is not associated with an event and/or does nothave event-driven content.

For example, the analytics tool 115 may record and analyze metrics dataincluding but not limited to, where/when a web user app 104 accesses orviews objects, video play/stop/pause information; order of event 102interaction; “false click” information (where a web user app 104attempts to click on an image/object even if there if not anyevent-based content in that position on the GUI of web portal 105 at thetime of the selection); and/or web user app 104 click through to one ormore third party websites (such as to purchase items placed in theevent-driven content of a source file. Data may be exported from thesystem 100 into other backend systems and reporting tools (i.e. Google®analytics), such as to assess user click-through, and/or data may beimported from third party sites regarding activity on the third partysite, to report via the user metrics reporting functionality of thepresent system.

In some examples, functionality for tracking user activity may includetracking for purchases—when a web user app 104 is using system 100,system 100 automatically logs the web user app 104 in and assigns aunique user ID key to follow the web user app 104 fir transactions forreporting. A web user app 104 may receive a unique URL for accessingsystem 100, which also may be used for tracking transactions forreporting. Tracking may be accomplished based upon receipt of one ormore events 102, as described with reference to FIG. 2. System 100 mayintegrate with third party sites via the event-driven content by sendingevent 102 information and/or web user app 104 data to the third partywebsite, including the unique ID to track the web users purchase. APIsof system 100 may plug into one or more third party systems. System 100may include one or more published APIs that are integrated by thebackend server 106 based upon the business rules.

System 100 may optionally include dual reporting functionality,including functionality for receiving data from a third party site (suchas but not limited to purchases made, tracking, user behavior with sitecontent after a purchase), and information reported to the third partysite by system 100. System 100 may learn one or more behaviors of one ormore web user apps 104 from third party sites based upon third partymonitoring, and receive the third party monitoring information. System100 may optionally include functionality for reporting on the thirdparty data.

FIG. 2 shows an example of the method that response server 109 uses toprocess an event 102. As shown at block 200, response server 109receives event 102. As described above, event 102 may be communicatedthrough the Internet and response server 109 is adapted for receivingevent 102 from web-based communications via HTTP/HTTPS. When event 102is received, system 100 registers the event. One or more or all events102 may be registered in a registration log of system 100. At block 200,system 100 may detect web user app 104 based upon identifying data suchas an IP address and/or unique user id, and/or determine the objectdetection mechanism based. upon an event type of event 102.

At block 202, response server 109 performs object detection using theobject detection mechanism for the particular went type. Objectdetection is determination of whether the event 102 was generated in apreviously defined position. For example, if the event 102 was a mouseclick selection by web user 104 on a position within the video duringplaying that did not have event-driven content, the object detectionwould detect that event 102 was not generated in a previously definedposition within the video file during play. For example, if the event102 was a touch on a touch screen by web user 104, on a visual marker,the object detection would detect that event 102 was generated in apreviously defined position during video play. Object detection may bebased upon positioning of one or more event areas enabled upon the videofile playing area that is displayed in a time-based manner during videoplay.

FIG, 3 shows an example event area 300. When the web user app 104creates an event 102, all events 102 are sent to backend server 106.Event area 300 is enabled for video playing area 310. Video playing area310 displays video streamed from video repository 312, which is externalto backend server 106 (FIG. 1). Upon receipt of event 102 upon eventarea 300, system 100 uses event area 300 to analyze event 102, basedupon the specific video defined information incorporated into the sourcevideo, such as video duration, video height and/or video width duringplaying, and other video specific information may be used. Themanagement system 111 supplies specific code to be inserted into thewebpage or apps where the video/audio/image to send event 102 to system100 and generate action 108. in at least one example, event area 300 maybe inserted by instructions from system 100 over video playing area 310,which is a HTML 5 video player. System 100 may include one or more APIsto access the response server.

Event-based content may be displayed based upon an event 102 beingcaptured within event area 300. Interactive content pieces (such asClixies™) and/or visual markers may be displayed inside and/or outsideof event area 300. Event-driven content may include multiple types ofcontent for a single event 102. The event-driven content may be editedand/or changed without having to recode the source video, audio and/orpicture file, because there is not any embedded pre-coded event-drivencontent upon the source file. The event-driven content may be differentfor different web users using web user app 104 for a particular sourcefile, based upon the business rules, response rules, instructions and/orpointer data. For example, a single source video may be displayed withevent-driven content of different languages, based upon a geographiclocation of a web user app 104 viewing the source video, based upon thebusiness rules of the backend server 106.

Referring to FIG. 2, event 102 may possess various properties fordifferent types of events 102. These may be used for object detection atblock 202. For example, event 102 may be a click-through event where aweb user using web user app 104 clicks upon or otherwise selectsevent-driven content enabled upon a video file. There may be one or moreareas defined within the video file viewing area for the click-throughevent. A click-through event may direct a web user app 104 to a newwebsite, such as but not limited, a third party website or webpage.

Event 102 may be a video click event. There may be one or more areasdefined within the video file viewing area for the video click event,which is an event-driven content sensitive area. The video sensitivearea may be defined by a video-ID variable, which is an identifier forthe source video file. The video sensitive area may be defined by anevent-type identifier, which is an identifier indicating the type ofevent 102. The video sensitive area may be defined by a video-widthand/or video-height, which is data for the width and height of the videosensitive area and/or video playing area during web user 104 playing ofthe video file. The video sensitive area may be defined by ax-coordinate and/or y-coordinate, which is data for one or morepositions within the video sensitive area and/or video playing areaduring web user 104 playing of the video file. The video sensitive areamay be defined by one or more time-of-click variables, which includedata for the timing of the event 102 during playing of the video file. Avideo sensitive area may be defined by one or more of and/or variouscombinations of the variables described herein. Of course, events 102may be audio and/or picture events and this system 100 is intended foruse with video, audio and picture source files.

Event 102 may be a video start event, which indicates that web user 104has started play to the source video file, such as by selecting a startbutton on a video player or viewing application. A video start event maybe determined based upon the video-ID identifier and event-typeidentifier. Similarly, event 102 may be a video pause event and/or avideo stop event, which may communicate that web user app 104 has pausedand/or stopped play of the video file. A video pause and/or video stopevent may be determined based upon the video-ID identifier andevent-type identifier.

Event 102 may be a picture click event. A picture click event is anevent indicating that web user using web user app 104 has selected apicture within the sensitive area. A picture click event may be basedupon a picture-ID identifier that identifies the picture, the event-typeidentifier, a picture width and/or picture height identifier thatidentifies the width and height of the picture, and/or an x-coordinateand/or y-coordinate identifier indicating the position of the eventwithin the picture.

Event 102 may be audio start event. An audio start event may beselection by web user app 104 to start the playing of an audio file. Itmay be defined within timed marks by an audio-id identifier thatidentifies that audio file, the event-type identifier, and/or thetime-of-click identifier. Similarly, event 102 may be an audio pauseand/or audio stop event, indicating selection by web user app 104 topause and/or stop playing of the audio file.

Event 102 may be a timed event. For example, a user authoring anembedded video may cause an event to occur at a specific time duringvideo play. The timed event occurring at a specified time during videoplay may be that a Clixie™ appears at a specified time. For example, aClixie™ for Coca-Cola® may be set to appear at exactly 2 minutes and 36seconds into the video, to coincide with the video displaying a Coke®can. Or, it could also coincide with an actor saying the word (audio)“Coke” at 2 minutes and 36 seconds in the video.

Event 102 possesses inherited properties. For example, an inheritedproperty is an IP address of the computing platform of the web user app104 generating the event 102. For example, an inherited property is aunique user identifier, which is a calculated or programmer unique userid to identifier distinct web user apps 104. For example, an inheritedproperty is an event time stamp, which is a general server-wide timestamp indicating that time of event 102.

Event 102 possesses calculated properties that are based upon eventproperties and inherited properties. For example, event 102 has a GeoLocation that is calculated based upon the IP address of web user app104. For example, event 102 has a local time that is calculated basedupon the IP address of the web user app 104 and the Geo Location forthat web user using web user app 104.

At block 204, one or more actions 108 are resolved for the event 102.System 100 is adapted to have multiple responses or actions 108 to asingle event 102, based upon the business rules, response rules,instructions and/or pointer data, where an event 102 has multipleconditions. On the other hand, multiple events 102 may generate the sameresponse or action 108. In this manner, the responses or action(s) 108,and the event-driven content may be changed for a source video, audioand/or picture file, based upon applying one or more different businessrules, response rules, instructions and/or pointer data.

Actions 108 may include predefined responses to events 102, based uponevent type. They may be based upon one or more business rules,instructions and or data stored in the management system 111 of backendserver 106. After the object has been detected at block 202 or if theobject has not been detected at block 202, at block 204, calculatedproperties for event 102 are generated and a response to event 102 isdetermined. Calculated properties may include geo-location. Calculatedproperties are generated by business rules held in the backend, relatedto the viewer's IP address. More than one response to event 102 may bedetermined. Action 108 is the response(s) to event 102 generated bysystem 100.

Action 108 may include, for example, generating a display, where system100 generates instructions for event-driven content to be displayed onthe GUI of web portal 105. The event-driven content that is to bedisplayed with action 108 may be determined by the management system 111of backend server 106 based upon one or more business rules,instructions and/or data. For example, based upon an inherit property ofan event 102, such as the IP address of web user 104, management system111 may determine which language to present the event-driven content into the web user 104. For example, based upon receipt of a video playevent 102, management system 111 may generate instructions for playingevent-driven content based upon x-coordinate data, y-coordinate data andtiming data (also known as the (x,y,t) data) for the source video beingplayed on the computing platform of web user using web user app 104.

Action 108 may include generating ins ructions to page jump, or for theweb portal 105 to jump to a specific URL or web page.

Action 108 may be based upon one or more business rules or responserules of The system also may access the physical location of the userbased upon the user's IP address, and filter event content based uponthe IP address location. For example, the content may be displayed indifferent languages based upon the point of access. Content display isbased around the location of the user, (users may view the same videofrom the U.S. and Brazil, but the event-driven content may be displayedin English in the U.S. and Portuguese in Brazil). In this sense, theevent content has the same interactivity, but because the system knowsthe users' geographic locations, and the event rules may include that itis based upon location, the content differs. Similarly, based upon theuser's locations, different locations or local retailers may be includedin the event content displayed for a particular user.

Various system 100 examples may include business rules that require auser to select interactive objects in a particular order. Various system100 examples may include business rules that require the user to watchthe entire video prior to making any of the content interactive.

Response rules may comprise event dependent actions, which are actionsthat will occur based on previously generated events 102. For example,an action 108 may be defined for a certain number of like events 102,such a but not limited to, clicks (first 500 clicks received get a 15%coupon), then after that, more clicks give a different coupon or nocoupon, or there may be a price change for a product included with theevent based content.

Response rules may include time dependent actions, which are actions 108that will only occur at one or more specific times. For example, a timedependent action may include generating instructions to displayevent-driven content on the sensitive area 300 of web portal 105 at apre-determined time after receipt of a video play event 102.

Response rules may comprise geographically dependent actions, which areactions 108 that result only if a web user using web user app 104 islocated within a specific geographic location, as determined based uponthe IP address inherited property of an event 102. For example, for aweb user app 104 located in Mexico, action 108 may include instructionsfor generating event-driven content identifying a third party retailerlocated in Mexico, but action 108 instructions generated for web usersusing web user app 104 located in the United States would not includethis event-driven content. Instead, system 100 may generate instructionsfor providing event-driven content identifying a retailer located in theUnited States for such web user apps 104.

Response rules may comprise counter dependent actions, which are actions108 that may result if video play of a source video is within a specificnumber of events 102. Management system 111 of system 100 may include acounter that is adapted to track the number of events 102 received bysystem 100 from a particular web user app 104.

In this manner, the action 108 content may be event 102 driven,geographically driven, based upon user data, or time-based driven, basedupon business rules of the backend server, for selecting which contentof an event to display for a particular user.

Action 108 may also include open page, launch applications, or playvideo. Many more actions 108 are possible within the scope and spirit ofthis application.

Management system 111 (FIG. 1) may further comprise a registration log.Event 102 may be recorded in the registration tog. Action 108 may berecorded in the registration log. Both event 102 data and action 108data may be stored in the registration log and/or used by the analyticstool 115 or tracking application of backend server 106 for analyzing webuser app 104 behavior and providing system use statistics, such as butnot limited to, event-driven content use and false clicks within a videowhere a user seeks event-driven content but it is not provided. Theseare optional features of system 100.

Referring to FIG. 2, at block 206, the respond action 108 iscommunicated or transmitted to the client, or the computing platform byweb user 104 by response server 109. This provides instructions forgenerating and/or playing event-driven content enabled upon the sourcevideo. At block 206, an event ID may be generated, which is a uniqueidentifier that may be used to identify the event 102. It may be used bythe analytics tool 115 and/or for tracking or reporting functionalitiesof system 100.

A second example system is shown in FIG. 4. In this example, customerwebpage 110 on a customer website is in remote communication with webuser app 104. Customer webpage 110 is in remote communication withsystem 400. One or more events 102 may be communicated from customerpage 110 to backend server 106. One or more actions 108 may becommunicated from backend server 106 to customer page 110. Backendserver 106 may provide business rules, instructions and pointers forclient side creation of event-driven content, client side enabling ofevent-driven content upon one or more video files and/or playing ofevent-driven content enabled for video files. In this example, webportal 105 may be viewed by web user apps 104 as part of customer page110. The web portal 105 on customer page 110 may be HTML 5 based and/ormobile device application in at least one example.

In this example, system 400 includes a library 107 of interactivecontent pieces 116 (such as Clixies™) and/or visual marker data. Library107 may comprise one or more databases of interactive content pieces(116 such as Clixies™) and/or visual marker data (such as the URL datadescribed above), instructions for retrieving one or more interactivecontent pieces 116 (such as Clixies™) and/or visual markers from memory,instructions for retrieving video files from memory, and/or in someexamples library 107 may include event-driven content. Interactivecontent pieces 116 may be communicated to customer page 110 for viewingupon web portal 105. Library 107 may be a remote or cloud-based storagefor storing interactive content pieces 116, that is separate frombackend server 106, such as a third party controlled storage and/or apublicly accessible storage. Backend server 106 may provide instructionsfor accessing one or more interactive content pieces 116 from library107 for creating and/or playing event-driven content enabled for a videofile 114 stored in video repository 112.

The example in FIG. 4 also includes a video repository 112, which maycomprise one or more databases or memory for storing video files. Videorepository 112 may be a remote or cloud-based storage for storing videofiles 114, that is separate from backend server 106, such as a thirdparty controlled storage and/or a publicly accessible storage. Backendserver 106 may provide instructions for accessing one or more videofiles 114 from video repository 112 for creating and/or playingevent-driven content enabled for a video file 114 stored in videorepository 112. Web users using web user app 104 may view video files114 from video repository 112 on customer page 110. As such, videorepository 112 is in communication with customer page 110. Videorepository 112 may be in remote communication with system 400 and/orbackend server 106, for creating event-driven content. Backend server106 does not store video files 114, nor change their file format orcontent. Video 114 may be stored on and/or streamed from videorepository 112, which may be any server or device in a cloud basedrepository that is compatible with an integrated video player. In oneexample, the integrated video player may be an HTML 5 video player.

FIG. 5 illustrates an example method of displaying event-driven contentfor a web user app 104, by system 100 and/or system 400. Block 501illustrates that system 100 or 400 loads an application or web page withevent-driven content to web portal 105. At block 503, system 100 or 400waits for receipt of an event 102 from web user app 104 via an eventarea 300 on the GUI of web portal 105. If an event 102 is generated atdiamond 505, the event 102 and its properties are sent by system 100 or400 from web portal 105 to response server 109, at block 507. If anevent is not generated, system 100 or 400 remains at block 503.

Block 509 illustrates that the backend server 106 records the event 102in a registration log of backend server 106. At block 511, backendserver 106 analyzes the event 102 and determines whether the event 102corresponds to an event-driven “hot spot” on event area 300 (FIG. 3). Ifit not a hot spot (as determined at diamond 513), a false event isdetected at block 515 and backend server 106 registers it as a falseevent. The false event data may be recorded in the registration log.

At block 517, system 100 or 400 resolves the action 108 correlating tothe event 102 (as described with reference to FIG. 2 above). Action(s)108 are sent by response server 109 of system 100 or 400 to web user app104 via web portal 105 at block 519. At block 521, the one or moreresponse actions 108 are displayed upon the web portal 105.

FIG. 6 illustrates an example of backend server 106. Backend server 106may be used to tangibly embody one or more methods described withrespect to FIGS. 1-5. Backend server 106 may include a processor and/ormemory and is capable of web-based or other remote communication withone or more computing platforms of web users using web user app 104.Backend server 106 may be in local and/or remote communication with oneor more repositories and/or databases. The processor of backend server106 may be capable of executing electronically stored instructions toperform one or more methods described with respect to FIGS. 1-5.

Server 606 has one or more processors capable of performing tasks, suchas all or a portion of the methods described with respect to FIGS. 3-5,as described herein. Server 606 is in communication with and/or hasintegral memory in one or more examples. Memory may be any type oflocal, remote, auxiliary, flash, cloud or other memory known in the art.In some examples, one or more user devices or other systems may senddata to response server 109 via a network for storage in memory, such asdatabase information for one or more of databases in independentdatabase layer 606, or other information.

This example includes applications layer 602, which may contain one ormore software applications that backend server 106 may store and/or thatmay be executed by a processor of backend server 106.

Backend server 106 further comprises a server layer 604, which includesresponse server 109. Server layer 604 is responsible for communicationsof events 103 and actions 108, between backend server 106 and web userapps 104, via the GUI and/or event area 300 of web portal 105. Serverlayer 604 may include a web server, which may be used to communicatewith one or more computing platforms and/or user devices remotely over anetwork. Communication networks may be any combination of wired and/orwireless LAN, cellular and/or Internet communications and/or other localand/or remote communications networks known in the art.

Backend server 106 further contains an independent database layer 606,which is adapted for storing business rules, response rules,instructions and/or pointer data for enabling event-driven content uponsource video, audio and/or picture files. The independent database layer606 may include a rules database for storing business rules, responserules, instructions and/or pointer data for use in generatingevent-driven content enabled upon a source file. Independent databaselayer 606 may comprise multiple databases. Those skilled in the art willappreciate that database structure may vary according to knowntechniques.

Applications layer 602 may include one or more applications that backendserver 106 is capable of executing. For example, applications layer 602may include a localization module 608, which is a module adapted forhandling multi-language scenarios. Applications layer 602 may includedelayed jobs module 610, which is a module that handles asynchronousprocesses and jobs. For example, statistics generation. Delayed jobsmodule 610 is adapted to trigger action 108 processes that do notrequire events 102 and that do no require immediate responses. Anexample of this would be statistics generation.

Applications layer 602 may include email services module 612, which is amodule that is adapted for handling communications to users. Emailservices module 612 may be adapted for generating electroniccommunications for sending to users, including email, SMS, phone, andother types of electronic communications are possible.

Applications layer 602 may include video processing module 614, which isa module that generates preview strips or thumbnail files for one ormore source video files. It does this by calculating the number oftransitions based on video length, then creating snapshot images basedon the time marks contained within the video. Depending on the length ofthe video, the system may generate two preview strips to allow the userto move easily between multiple snapshots.

Applications layer 602 may include reporting module 616, which is amodule that generates and displays statistics and graphics informationregarding all events and viewer behavior. For example, it places viewerson a graphical map of the world, showing their location to within 50miles. It does this by logging the viewer's IP address, comparing it toa database that contains the geo-location of all IP Addresses, thenmatches the IP to the viewer's physical address.

Applications layer 602 may include web services module 618, which is amodule that handles in/out (bi-directional) communications to thebackend server by a user 104 via web portal 105. It does this by an HTTPor HTTPS protocol. Examples of web services module 618 may include anXML, and/or json based communications module.

Applications layer 602 may include full text engine module 620, which isa module that is a full text indexer for managing more efficient searchmechanisms. It provides a simple way to find videos, interactive contentpieces (such as Clixies™) and visual markers that contain specific text.For example, a user could search for all items that contain the word“sun.”

Applications layer 602 may include authorization rules module 622, whichis a module that handles levels of user access, based on privileges andbusiness rules.

Applications layer 602 may include authentication module 624, which is amodule that handles authentication of web users 104, including log-inaccess for web users 104. It does this by handles authorization requestsbased on login credentials stored in the backend.

Applications layer 602 may include geo-detection module 626, which is amodule that may transform IP address data into geographic locationmapping. It does this by logging the viewer's IP address, comparing itto a database that contains the geo-location of all IP Addresses, thenmatches the IP to the viewer's physical address.

Applications layer 602 may include event analyzer module 628, which is amodule that detects events 102 during source file play and performs thetasks described in FIG. 2, for responding to events 102 with one or moreactions 108.

Applications layer 602 may include event aggregator module 630, which isa module that summarizes large quantities of events 102 and may prepareaggregate responses to events 102, for a more efficient reportingresponse.

Applications layer 602 may include object detection module 632, whichmay be called by event analyzer module 628 for detecting the type ofevent 102 received by response server 109. Object detection module 632may analyze a click or other user selection event, to determine whetherthe event appeared on an event-driven content “spot” upon predeterminedevent area 300, based on a polygon form.

FIG. 7 illustrates an example GUI 700 for authoring tool 113. After aweb user app 104 logs onto system 100 or 400, GUI 700 may be displayed.GUI 700 includes a dashboard for the authoring tool 113. Field 702 isfor displaying data regarding the last video that a user worked on.There is a video options field 704, which includes functionality thatmay be selecting fur playing, selecting and/or accessing authoringediting controls for the video displayed in field 702. The video isplayed upon selection of the “Play” button in field 704. Video options,such as play, edit link, delete, sample, process and authoring may beviewed upon selecting the “Selecting” button in field 704. By selectingthe “Authoring” button in field 704, the event-driven content may beedited and authoring controls are accessed.

GUI 700 includes a Quick Stats field 706, which may display quickstatistics for the video displayed in field 702. Statistics may includepage views, false click data, hot spot selection data, all user activityregarding the video, and other statistics or data regarding the videomay be displayed in field 706. Quick Stats field 706 may include URIfunctionality for viewing one or more reports regarding the video (URI708), functionality for viewing an interaction map identifying locationswhere users have attempted to select interactive items upon the videodisplay (URI 709), and/or a heat map for the video (URL 710). GUI 700may include a navigation tool bar 712, for accessing various features ofauthoring tool 113, such as but not limited to, video projects foraccessing indexed content (“Videos” button), accessing indexedinteractive content pieces (such as Clixies™) (“Clixies” button),accessing visual markers (“Markers” button) that indicates event-drivencontent is enabled, reports (“Reports” button), and the like.

FIG. 8 illustrates an example GUI 800 that may be displayed if a videois selected from the video library. GUI 800 is a project page view ofsummary information about the video. With GUI 800, a web user app 104may play a video, edit a video or other actions.

In order to create a new video project, web user using web user app 104enters a name for the video project and a URL identifying where thesource video file is located from the video library 107 (FIG. 400). If asource video is subsequently moved, the URL would need to be updated.

GUI 800 includes project control field 802, for accessing functionalityfor authoring the event-driven content. Control field 802 includes a“Play” button 804 for playing the source video file. Control field 802includes an “Edit Link” button 806 for editing the name and/or URL datafor where to find the source video file. Control field 802 includes a“Delete” button 808 which may be used to delete the entire videoproject, including data for locating the source video and theevent-driven content overlaying upon it. Control field 802 includes“HTML Info” button 810 that provide the data required to publish thevideo on a website. Control field 802 includes “Process” button 812,which may be selected to access data about the video captured when thevideo is processed into the backend, such as length, format and size.Control field 802 includes “Authoring” button 814, which may be selectedfor editing the event-driven content enabled upon the source video.

GUI 800 includes timeline bar 816, which displays different thumbnailvideo images of the source video file over time.

Authoring tool 113 may include video controls on one or more GUIdisplays, for starting, pausing, stopping, rewinding, forwarding,jumping to the beginning of the video, jumping to the beginning orending of an event-driven content piece played during the video, foradvancing or retreating a pre-set time period (such as 0.25 seconds),playing the video in slow motion, or other controls that may be used increating or editing the event-driven content.

FIG. 9 illustrates an example GUI 900 that may be displayed if the“Clixie” button of toolbar 712 is selected. GUI 900 includes afield 901for displaying a library of existing interactive content pieces (such asClixies™) that are associated with the video. The library file data maybe stored in and accessed from library 107 (FIG. 4). GUI 900 includes an“Add” button 902 which may be selected to associate an interactivecontent piece (such as a Clixie™) to the video from library 107. Field904 includes controls for alphabetically displaying the library filesfield 901, and/or sorting the library files by when they were lastupdated. GUI 900 includes a Quick Stats field 906, similar to thatdescribed with reference to FIG. 7.

FIG. 10 illustrated an example GUI 1000, which an author web user 104may use for creating anew interactive content piece (such as a Clixie™).To create anew interactive content piece (such as a Clixie™), an authorusing web user app 104 may enter the Clixie™ name in field 1006. Thename is stored in library 107 (FIG. 4). Web user using web user app 104may select a type or kind of action to be created in field 1007. Thisparticular example of field 1007 comprises a pull down menu, but otherexample displays are possible. The pull down menu ma list differenttypes of content. For example, the interactive content piece (such as aClixie™) may be a “banner” for display, a click through to a third partywebsite, and other types of content are possible. Banner content mayinclude an interactive content piece (such as a Clixie™) that may beplaced to the top left, right or bottom of the video playing area, asselected by a Thor web user app 104. A viewing web user app 104 mayclick upon the interactive content piece (such as a Clixie™) during orafter video play to be directed to a URL to view the content. Theinteractive content piece (such as a Clixie™) may be associated with avisual marker. The kind selected in field 1007 may be “Click-through.”Click-through content may automatically and immediately redirect aviewing web user on web user app 104 to the embedded URL, once selected.Of course, this example pertains to Clixies™, but many other interactivecontent pieces are contemplated within the scope and spirit of thisapplication and claimed subject matter is not so limited.

To create the new interactive content piece (such as a Clixie™), anauthor web user using web user app 104 identifies in URL field 1014, thesource for where the where the web user app 104 is taken when clickingon the interactive content piece (such as a Clixie™). This location datacomprises a URL and is stored in library 107 (FIG. 4). If the web pageis moved ort becomes inactive, the URL needs to be edited. Theinteractive content piece (such as a Clixie™) may include a bannerheader field 1010, which is a name for the interactive content piece(such as a Clixie™) that the viewing web user app 104 will view. It mayinclude a banner text field 1012, which is a field for a briefdescription of the interactive content piece (such as a Clixie™) thatthe viewing web user using web user app 104 may read. An author usingweb user app 104 also identifies a URL for the web location for wherethe image file is located in the Logo source field 1008. This URL datais stored in library 107 (FIG. 4). One or more social links (not shown)may also be added to the interactive content piece (such as a Clixie™)such as Facebook®, Twitter®, Instagram®, Tumblr® or other social mediaaccess buttons that may be selecting by a viewing user using web userapp 104 to allow a web user using web user app 104 to share theinteractive content piece (such as a Clixie™) and/or video.

Authoring tool 113 uses object identification enabling for the sourcefile to provide informational content to web user apps 104 as aninteractive content piece (such as a Clixie™). The interactive contentpiece (such as a Clixie™) may be viewable during the playing of a sourcefile and/or a web user app 104 may play the source file uninterruptedand click-through the interactive content piece (such as a Clixie™) atthe end. Authoring tool 113 may include tagging controls for use intagging one or more items or objects in a video source file, for addinginteractive content piece (such as a Clixie™). Tagging controls mayinclude a square shape button (for tagging an item with a square shapeupon the event area 300), a round shape button (for tagging an item witha round shape upon the event area 300), and/or a spline shape button forfree-hand drawing a shape for object tagging. Tagging controls mayinclude a visual marker button for displaying what object in the videois associated with an interactive content piece (such as a Clixie™).Other tagging controls are possible.

FIG. 11 illustrates that authoring tool 113 includes functionality forgenerating visual markers 1101, which may be assigned to one or moreinteractive content piece (such as a Clixie™) to inform a viewer that anobject is event-enabled. A visual marker 1101 may be selected using theauthoring tool 113, and the author user may set the visual marker 1101image, location and duration of appearance during it e source file play.For example, a visual marker 1101 may appear over a target object by apre-set duration. Visual marker 1101 display may be independent of userselection actions, which may trigger one or more events 102.

As shown in FIG. 11, various visual markers 1101 may be selected by anauthor using web user app 104. Visual markers 1101 may consist ofpre-set images and/or in some examples, authors using web user app 104may draw or provide their own visual marker 1101 images. Authoring tool113 allows for placement of visual markers 1101. The visual markers 1101may be based upon three dimensional by (x, y, time) coordinates. Assuch, for each visual marker 1101, a duration may be designated for whenduring the video the visual marker 1101 appears, as well as in which(x,y) location(s) the visual marker 1101 is to appear for each suchduration. The visual marker 1101 may be displayed over the top of avideo or picture image, or on the side of it. In various examples, avisual marker 1101 may be used to take a web user app 104 to a thirdparty website by the web user using web user app 104 selecting an eventarea 300 at the location of the visual marker 1101 (touching it,clicking on it, etc.). The visual marker 1101 may be displayed on thevideo play area of the GUI of web portal 105. The authoring tool 113 maybe used to create moving visual markers 1101, to follow object movementover time in a video.

In at least one example, an author may use the authoring tool 113 tocreate visual markers 1101 by drawing objects within a video, based upona timeline displayed on the GUI of the web portal 105 (for example, FIG.8 timeline 816). In one example, the GUI includes a timeline displayedat the bottom portion of the web portal 105 for displaying on acomputing platform display screen. A web user using web user app 104 mayselect a visual marker 1101 and associate it with an object in thevideo. The visual marker 1101 for the event may be a pre-set shape(i.e., square, circle) and/or freehand drawn (spline) with pointsassigned to it. The assigned points may be unlimited. In at least oneexample, the authoring tool 113 automatically creates a timeline that iscolor coded in the GUI of the web portal 105, to that particular drawingof the object. (i.e. red dress—red bar on timeline to indicate durationthat the “red dress” object will remain interactive in the video). Anauthor user may edit the duration of the object event area by grabbingthe timeline bar at the bottom of the display and dragging it to coverthe desired duration.

Once the visual marker object 1101 is created, an author using web userapp 104 may generate and/or identify an interactive content piece (suchas a Clixie™) to be associated with it. The author using web user app104 may select a visual marker 1101 and point it where she wants thevisual marker 1101 to appear during the source file play (i.e. drag itover the dress displayed in the video). The system 100 or 400 may assigna color code to the object in the source file and that color appears onthe GUI timeline for duration editing for the object display. The visualmarker 1101 displays independently of the event duration (two durationsare set). The interactive content piece (such as a Clixie™) may belinked to a public site and description text of the interactive contentpiece (such as a Clixie™), and/or a link for where the content is storedoutside the system, and/or pictures and video content that are stored onthe client side and/or remotely.

Visual markers 1101 may be automatically viewable at various timesduring video play and/or viewable in response to web user app 104action, such as scrolling a mouse or other communications device over adisplay screen of the computing platform displaying the GUI of webportal 105. Examples of web user app 104 actions that may trigger makinga visual marker viewable include, but are not limited to, mouse-click,mouse-over, touching a touchscreen in a spot, keyboard typing or otherdata input, generating a specific sound or speech, among many otherpossibilities of user actions that may be performed to produce a result.

During playing of a video having event-driven content, the video maycontinue to play, even if a user triggers display of interactive contentpiece (such as a Clixie™). Prior systems typically stop video play,while a separate web browser opens to display the content. At least oneexample of the present system includes continued video play, even if auser triggers an event or interactive content piece (such as a Clixie™).Visual markers 1101 display over the video during play and may also bedisplayed alongside the video, such as but not limited to, in a toolbar, for a user to access after the video play finishes and/or thevisual marker is no longer being displayed during the video play.

A single visual marker 1101 may mark more than one interactive object orcontent. Interactive content pieces (such as Clixies™) may be filtered,based upon user data or other data, such that some but not all contentis displayed for a particular user, upon the user triggering display ofthe interactive content piece (such as a Clixie™). For example, web user104 may receive different interactive content piece (such as a Clixie™)in different languages based on their physical location, as determinedby the web user app 104 IP address.

The interactive content piece (such as a Clixie™)may include contentfrom a third party website, such as but not limited to, image content,text content, product information, product pricing information, and/orproduct sales/purchasing capabilities accessible via clicking throughthe interactive content piece (such as a Clixie™), to a separate thirdparty website. Based upon the business rules, different content may beincluded for different users such that users in different geographiclocations may be directed to different third party content or websitesor HTML content. For example, different users may be directed todifferent product or sales information. For example, users in a specificgeographic location may be presented with interactive content piece(such as a Clixie™) content for purchasing a product (and other usersviewing the video that are not in the specified geographic region mayreceive interactive product information without having interactivepurchasing functionality). Again, though a Clixie™ is used with anexample of the present system to illustrate features and functionalityof system 100 or 400, other interactive content pieces are contemplatedwithin the spirit and scope of the present application.

The system allows for dynamic editing. It does not store video,interactive content pieces image or other content (apart from possiblevisual marker image content and/or text). Instead, it stores pointers,URLs or other link information for where such content is located (suchas at third party locations supplied by author users). Specifically, theevent data from the authoring tool is stored in the system, URL to theimage and informational content of the interactive content piece,reference to the back end system for the (x,y,time) coordinates, and URLas to where the interactive content piece image is stored (third partywebsite).

The authoring tool 113 also can view work in real time—as an author usertags a video with events for Objects, the system can track progress ofwork as how it will look for the viewers in real time. There is no needto generate a preview. There is no need to code or embed event-drivencontent upon a video file 112. The system does not deal with encoding,decoding, packaging, publishing video content to include theevent-driven content. Because it does not do so, it allows for dynamicreal time editing of event content. In order to add a new event to anexisting video 112, an author use. need only edit the video 112 himself.Sending it to a third party for editing, encoding, decoding, andrepackaging content is not required. in this manner, editing isdynamic—the system dynamically updates events associated with the video112.

For event-driven content editing, because the author user tags an objector image that is moving in the video during play, and because the imagetray change shape over a period of time, the image may be editeddynamically. For example, the object may follow a woman walking in thevideo wearing a red dress. The event area or “hot spot” for the dressmay be adjusted over e in size (changing in the video due to motion(zoom in/out)), dynamically as the video plays. An author user does nothave to change the shape frame-by-frame.

In at least one example, authoring tool 113 includes a slow play buttonin a tool bar, such as by way of example, at the top of the GUI, whichmay be used to grab the event area and follow the object as it is movinginside of the video (shrink it/make it bigger) as it moves. With thefree hand drawing feature, irregular shaped objects may be created withmultiple points. For example, if the woman in the red dress raises herarm the free-hand image for the red dress may be edited to accommodatethe new shape created by the raised arm during the time period that thearm is raised, without having to re-draw a new image for the dress. Anauthor user may also grab one or more points and move it so as not toadjust shape but move the point at that time in the video, to accomplishhaving the object follow the image during movement.

One or more computing platforms may be included in system 100. They maybe used to perform the functions of and tangibly embody the article,apparatus and methods described herein, such as those described withreference to FIGS. 1-11, such as but not limited to, backend server 106or web user app 104, although the scope of claimed subject matter is notlimited in this respect. A computing platform may be utilized to embodytangibly a computer program and/or graphical user interface, such as webportal 105, by providing hardware components on which the computerprogram and/or GUI may be executed. A computing platform may be utilizedto embody tangibly all or a portion of FIGS. 1-11 and/or other methodsor procedures disclosed herein. Such a procedure, computer programand/or machine readable instructions may be stored tangibly on acomputer and/or machine readable storage medium such as a flash memory,cloud memory, compact disk (CD), digital versatile disk (DVD), flashmemory device, hard disk drive (HDD), and so on. Memory may include oneor more auxiliary memories. Memory may provide storage of instructionsand data for one or more programs to be executed by the processor, suchas all or a portion of that described with reference to FIGS. 1-11and/or other procedures disclosed herein. Various types of memory arepossible, such as by way of example, semiconductor-based memory such asdynamic random access memory (DRAM) and/or static random access memory(SRAM), synchronous dynamic random access memory (SDRAM), Rambus dynamicrandom access memory (RDRAM), ferroelectric random access memory (FRAM),and so on. Alternatively, or additionally, memory may comprisemagnetic-based memory (such as a magnetic disc memory or a magnetic tapememory); an optical-based memory (such as a compact disc read writememory); a magneto-optical-based memory (such as a memory formed offerromagnetic material read by a laser); a phase-change-based memory(such as phase change memory (PRAM)); a holographic-based memory (suchas rewritable holographic storage utilizing the photorefractive effectin crystals); a molecular-based memory (such as polymer-based memories);and/or a remote or cloud based memory and/or the like. Auxiliarymemories may be utilized to store instructions and/or data that are tobe loaded into the memory before execution. Auxiliary memories mayinclude semiconductor based memory such as read-only memory (ROM),programmable read-only memory (PROM), erasable programmable read-onlymemory (EPROM), electrically erasable read-only memory (EEPROM), and/orflash memory, and/or any block oriented memory similar to EEPROM, and/ornon-semiconductor-based memories, including, but not limited to,magnetic tape, drum, floppy disk, hard disk, optical, laser disk,compact disc read-only memory (CD-ROM), write once compact disc (CD-R),rewritable compact disc (CD-RW), digital versatile disc read-only memory(DVD-ROM), write once DVD (DVD-R), rewritable digital versatile disc(DVD-RAM), and others. Other varieties of memory devices and theirfuture developments are contemplated as well, and claimed subject matteris not intended to be limited to this one possible tangible memorymedium.

Backend server 106 and/or a computing platform of web user apps 104 maybe controlled by a processor, including one or more auxiliaryprocessors. For example, the method of FIG. 5 described above may beperformed, at least in part, by use of a processor. A processor maycomprise a central processing unit (CPU) such as a microprocessor ormicrocontroller for executing programs, performing data manipulations,and/or controlling the tasks of the computing platform. Auxiliaryprocessors may manage input/output, perform floating point mathematicaloperations, manage digital signals, perform fast execution of signalprocessing algorithms, operate as a back-end processor and/or aslave-type processor subordinate to a processor, operate as anadditional microprocessor and/or controller for dual and/or multipleprocessor system and/or operate as a coprocessor and/or additionalprocessor. Auxiliary processors may be discrete processors and/or may bearranged in the same package as a main processor, such as by way ofexample, in a multicore and/or multithreaded processor. Claimed subjectmatter is not limited by a specific processor example of a specificcomputing platform example.

Communication with a processor may be implemented via a bus fortransferring information among the components of the computing platform.A bus may include a data channel for facilitating information transferbetween storage and other peripheral components of the computingplatform. A bus may further provide a set of signals utilized forcommunication with a processor, including, for example, a data bus, anaddress bus, and/or a control bus. A bus may comprise any busarchitecture according to promulgated standards, for example, industrystandard architecture (ISA), extended industry standard architecture(EISA), micro channel architecture (MCA), Video Electronics StandardsAssociation local bus (VLB), peripheral component interconnect (PCI)local bus, PCI express (PCIe), hyper transport (HT), standardspromulgated by the Institute of Electrical and Electronics Engineers(IEEE) including IEEE 488 general-purpose interface bus (GPIB), IEEE696/S-100 and later developed standards. Claimed subject matter is notlimited to these particular examples.

The computing platform further may include a display for displaying theGUI of web portal 105, such as event area 300, the source files upon avideo playing area, and/or listings and reports described with respectto FIGS. 1-11 above. The display may comprise a video display adapterhaving components, including video memory (such as video random accessmemory (VRAM), synchronous graphics random access memory (SGRAM),windows random access memory (WRAM) and others), a buffer, and/or agraphics engine. The display may comprise a cathode ray-tube (CRT) typedisplay such as a monitor and/or television and/or may comprise analternative type of display technology such as a projection type CRTtype display, a liquid-crystal display (LCD) projector type display, anLCD type display, a light-emitting diode (LED) type display, a gasand/or plasma type display, an electroluminescent type display, a vacuumfluorescent type display, a cathodoluminescent and/or field emissiontype display, a plasma addressed liquid crystal (PALC) type display, ahigh gain emissive display (HGED) type display, and any others known inthe art. The display may be a touch screen display. The display iscapable of displaying a web browser and video player.

The computing platform further may include one or more I/O devices, suchas a keyboard, touch screen, stylus, electroacoustic transducer,microphone, speaker, audio amplifier, mouse, pointing device, bar codereader/scanner, infrared (IR) scanner, radio-frequency (RF) device,and/or the like. The I/O devices may be used for inputting data, such asclaims information, into the system. There may be an external interface,which may comprise one or more controllers and/or adapters to proveinterface functions between multiple I/O devices, such as a serial port,parallel port, universal serial bus (USB) port, charge coupled device(CCD) reader, scanner, compact disc (CD), compact disk read-only memory(CD-ROM), digital versatile disc (DVD), video capture device, T tunercard, 802x3 devices, and/or IEEE 1394 serial bus port, infrared port,network adapter, printer adapter, radio-frequency (RF) communicationsadapter, universal asynchronous receiver-transmitter (UART) port, andnewer developments thereof, and/or the like, to interface betweencorresponding I/O devices.

As used herein, computing platform and computer readable storage mediado not cover signals or other such unpatentable subject matter. Onlynon-transitory computer readable storage media is intended within thescope and spirit of claimed subject matter.

A computing platform may include more and/or fewer components than thosediscussed herein. Claimed subject matter is not intended to be limitedto this particular example of a computing platform that may be used withthe system, article and methods described herein.

The one or more web user app 104 computing platforms of system 100 or400 may be in remote communication with backend server 106. For example,various computing platforms may be used to access data of system 100 or400, display event-driven content on web portal 105 by backend server106 performing the method of FIG. 5.

A web user app 104 computing platform may be used to input data, such asevent 102 information. Computing platform may be any computing device,desktop computer, laptop computer, tablet, mobile device, handhelddevice, PDA, cellular device, smartphone, scanner or any other deviceknown in the art that is capable of being used to input data, such asinto a web based portal 105. The user device may be capable of acceptinguser input or electronically transmitted data. The user device may beused to upload data to backend server 106 and/or receive data frombackend server 106 via a network. Various users may operate differentcomputing platforms within system 100 or 400.

The GUIs of FIGS. 6-11 and/or web portal 105 may be viewed upon variousknown and future developed media players, and is video playeragnostic—meaning that it can be played on many media players and is notcoded to a specific format (Quicktime, Flash, Windows Media Player,etc.) One example is a HTML 5 based GUI, which may be displayed onvarious browser platforms. Known embedded interactive content embeddedin video files created by methods known in the art typically are mediaplayer specific and coded for a particular media player, rather thanbeing HTML content playable within various web browsers. The presentsystem creates interactive video content viewable via software and/orapplications on various types of computing platforms (computers,tablets, mobile devices, etc.) and with various operating systems known.

It will, of course, be understood that, although particular exampleshave just been described, the claimed subject matter is not limited inscope to a particular example or implementation. For example, oneexample may be in hardware, such as implemented to operate on a deviceor combination of devices, for example, and another example may be insoftware. Likewise, an example may be implemented in firmware, or as anycombination of hardware, software, and/or firmware. Another example maycomprise one or more articles, such as a storage medium or storage mediasuch as one or more SD cards and/or networked disks, which may havestored thereon instructions that if executed by a system, such as acomputer system, computing platform, or other system, may result in thesystem performing methods and/or displaying a user interface inaccordance with claimed subject matter. Such techniques may comprise oneor more methods for electronically processing the methods for fundinglife insurance premiums with fixed structured settlements functionalitydescribed herein.

In the preceding description, various examples of the present methods,apparatus article have been described. For purposes of explanation,specific examples, numbers, systems, platforms and/or configurationswere set forth to provide an understanding of claimed subject matter.Computer file types and languages, and operating system examples, to theextent used, have been used for purposes of illustrating a particularexample. However, it should be apparent to one skilled in the art havingthe benefit of this disclosure that claimed subject matter may bepracticed with many other computer languages, operating systems, filetypes, and without these specific details. in other instances, featuresthat would be understood by one of ordinary skill were omitted orsimplified so as not to Obscure claimed subject matter. While certainfeatures have been illustrated or described herein, many modifications,substitutions, changes or equivalents will now occur to those skilled inthe art, particularly with reference to the specific computing platformexample described herein. The present system, article and method may betangibly embodied with other computing platforms and future developmentsthereto. This application is not intended to be limited to theparticular computer hardware, functionality and methodology describedherein, and is not intended to cover subject matter outside of thelimitations to patentability set by 35 U.S.C. 101.

1. A tool for creating interactive content to be displayed with a video,audio and/or picture source file comprising: a backend server configuredto provide instructions to a client's computing platform for authoringevent-driven content, mapping the event-driven content to the sourcefile, and synchronizing the event-driven content to the source filebased upon business rules, response rules, instructions and/or pointersstored in a database of the backend server; the backend server furthercomprising an authoring tool configured to generate one or moreevent-driven content actions associated with an event in an event area,the event comprising input data received by the backend serverindicating user selection during display of the source file, the eventarea comprising an area within which an event triggers display of theevent-driven content; the authoring tool is configured to create theevent-driven content enabled upon the source file without downloading orinstalling hardware or software on the client's computing platform orsending the source file to a third-party service provider for packagingembedded code files with the source file, and without encoding, decodingor hosting the source file for adding the event-driven content; and theauthoring tool is configured to add new event-driven content to thesource file and/or to edit the event-driven content, without requiringthe client computing platform to reproduce the source file with theevent-driven content by encoding, decoding or packaging it.
 2. The toolof claim 1, the event further comprising video start, video click, videostop, video pause, video play, mouse-click, mouse-over, touching atouchscreen, a keystroke, keyboard typing, other data input, generatinga specific sound or speech and/or a timed event.
 3. The tool of claim 1further configured to mark one or more positions and/or timings withinthe source file for the event area for triggering display of theevent-driven content.
 4. The tool of claim 1 further configured tooverlay one or more visual markers on the source file to appear duringits display to indicate event-driven content, the visual marker having(x,y,time) coordinates.
 5. The tool of claim 1, the backend server isfurther configured to provide instructions for displaying differentevent-driven content for different web user computing platforms basedupon the business rules, the response rules, and/or a geographiclocation of the web user computing platform.
 6. The tool of claim 1,further configured to display the event-driven content and the sourcefile in real time for dynamic editing of the event-driven contentwithout generating a preview.
 7. The tool of claim 1 further configuredto tag an object or image that is moving in the video source file duringplay, the authoring tool configured to dynamically edit the taggedobject or image, if the object or image changes shape over a period oftime, by adjusting an event area for the object or image over time insize as the video plays without requiring a frame-by-frame editing ofthe object or image shape.
 8. The tool of claim 7 further comprising aslow play button in a tool bar, which is adapted to edit the event areato follow the object or image as it is moving inside of the video tochange a size of the event area as the event area moves.
 9. The tool ofclaim 1, further comprising a free hand drawing feature adapted forcreating irregular shaped objects with multiple points, the multiplepoints adapted for being individually moved to edit the object in sizeand shape without having to draw new image if the object or image of thevideo source file changes size or shape as it moves during play of thevideo source file.
 10. The tool of claim 1, the event-driven contentcomprising content from a third party website comprising image content,text content, product information, product pricing information, and/orproduct sales/purchasing capabilities accessible via clicking through avisual marker associated with the event-driven content, to a separatethird party website.
 11. The tool of claim 1 further configured todisplay event-driven content while playing the source file, withoutstopping play of the video source file or opening up a new web browserwindow.
 12. The tool of claim 1 further comprising a graphical userinterface comprising: a field for identification of a location data forwhere a web user application viewing the event-driven content and thesource file is taken when selecting the event-driven content, thelocation data comprising a URL and is stored in a library; a sourcefield for identification of a URL for the web location for where thesource file is located, the URL data is stored in the library; atimeline for viewing the timing of when event-driven content and/orvisual markers are to be displayed during display of the source file;one or more controls for creating the event area identifying the areaconfigured for selection during display of the source file fortriggering display of the event-driven content, the event area having(x,y,time) coordinates; and one or more controls for creating one ormore visual markers associated with the event-driven content.
 13. Thetool of claim 1, the authoring tool configured to use objectidentification enabling for the source file to provide the event-drivencontent.
 14. The tool of claim 1, the authoring tool further comprisingone or more tagging controls for use in tagging one or more items orobjects in the source file, for adding event-driven content.
 15. Asystem comprising: a web user application configured to be downloadableto one or more web user computing platforms; a web portal with agraphical user interface configured for display by the web userapplication, the web portal configured to receive one or more eventsfrom the web user computing platforms, the event comprising a user inputreceived by the computing platform; a backend server, the backend serverhaving a database comprising business rules, response rules,instructions and/or pointers for client side creation of event-drivencontent, client side enabling of the event-driven content upon one ormore video, audio and/or picture source files, and displaying of theevent-driven content on the web portal; the backend server furthercomprising a response server adapted to receive the event from the webuser computing platforms, the response server configured to process theevent to create one or more actions, the event processing is based atleast part upon one or more event areas comprising an area defined inthe source file that is displayed on the graphical user interface withinwhich selection by a user triggers display of the event-driven content,the action adapted to be communicated by the response server to the webuser application via the web portal, the action comprising display ofthe event-driven content on the web portal; and the backend serverfurther configured for server side processing of the event-drivencontent, and not client side processing of encoded embedded event-drivencontent that is packaged on the server side and sent to the client sidefor executing.
 16. The system of claim 15, the response server, inresponse to receiving an event from the web application on the web usercomputing platform, is configured to register the event in aregistration log, detect the web user application based upon identifyingdata for the particular web user application, determine an objectdetection mechanism based upon an event type of the event, and performobject detection using the object detection mechanism for the particularevent type; the object detection comprising determination of whether theevent was generated in the event area based upon positioning of one ormore event areas enabled upon a playing area for the source file, theevent area is displayed in a time-based manner during display of thesource file; the response server further configured to generate one ormore calculated properties for the event based upon the business rulesrelated to the IP address of the web user computing platform; and theresponse server is further configured to resolve one or more actions forthe event, the action comprising one or more predefined responses to theevent based upon event type, one or more of the business rules,instructions and or data stored in the database of the backend server,the actions may be changed for a source file, based upon applying one ormore different business rules, response rules, instructions and/orpointer data.
 17. The system of claim 15, the action comprisinggenerating instructions for the event-driven content to be displayed onthe graphical user interface of the web portal, generating instructionsfor the web portal to jump to a specific URL or web page, and/orgenerating instructions to launch one or more applications.
 18. Thesystem of claim 15, the business rules comprising rules requiring theweb user to select event-driven content in a particular order, rulesrequiring the web user to display the entire source file prior todisplaying any of the event-driven content, one or more event dependentactions comprising actions that will occur based on previously generatedevents, one or more time dependent actions comprising actions that willonly occur at one or more specific times during display of the sourcefile, one ore geographically dependent actions comprising actions thatresult only if a web user computing platform is located within aspecific geographic location, and/or one or more counter dependentactions comprising actions resulting if video play of a video sourcefile is within a specific umber of events.
 19. The system of claim 15,the event processing by the response server further based upon specificvideo defined information incorporated into the source video comprisingvideo duration, video height and/or video width during playing.
 20. Thesystem of claim 15, further comprising a visual marker associated withthe event-driven content, the visual marker appearing substantiallywithin the event area, the event triggering display of the event-drivencontent comprising selection of the visual marker.
 21. The system ofclaim 15, the backend server further comprising: an authoring toolconfigured for generating the event-driven content, the authoring toolconfigured to provide instructions to the web user's computing platformfor authoring event-driven content, mapping the event-driven content tothe source file, and synchronizing the event-driven content to thesource file based upon the business rules, response rules, instructionsand/or pointers stored in the database of the backend server; theauthoring tool is configured to generate multiple event-driven contentactions for a single event; the authoring tool is configured to createthe event-driven content enabled upon the source file withoutdownloading or installing hardware or software on the web user'scomputing platform or sending the source file to a third-party serviceprovider for packaging embedded code files with the source file, andwithout encoding, decoding or hosting the source file for adding theevent-driven content; and the authoring tool is configured to add newevent-driven content to the source file and/or to edit the event-drivencontent, without requiring the web user computing platform to reproducethe source file with the event-driven content by encoding, decoding orpackaging it.
 22. The system of claim 15, the backend server furthercomprising a management system adapted to age creation, editing and/ordeleting of the event-driven content, the management system configuredto change the event-driven content for a source file, based uponapplying one or more different business rules, response rules,instructions and/or pointer data stored in the database of the backendserver.
 23. The system of claim 22, the management system comprising aregistration log, the management system recording the events and actionsin the registration log, storing event data and action data in theregistration log.
 24. The system of claims 15, the backend serverfurther comprising an analytics tool adapted to capture, store and/ordisplay data associated with the event; and the analytics tool furthercomprising a tracking application configured to gather, assess, organizeand/or report analytical data about the web user application includinguser behavior using the web user application, geographic location of theweb user computing platforms, the events, timing of the events, order ofthe events, whether an event produces an action to display theevent-driven content, and/or whether an event does not produce theaction comprising if a web user selects an area of the graphical userinterface that is not within the event area.
 25. The system of claim 24,the analytics tool further configured to record and analyze metrics dataincluding but not limited to, where/when the web user applicationaccesses or views objects, video play/stop/pause information; order ofinteraction with the events; false click information if the web userapplication receives an attempt to click on an image/object even ifthere if not any event-based content in that position on the graphicaluser interface of the web portal at the time of the selection, and/orthe web user application click through to one or more third partywebsites.
 26. The system of claim 15, the event selected from the groupconsisting essentially of a click-through event, a video start event, avideo pause event, a video stop event, a picture click event, an audiostart event, an audio pause, an audio stop event and a timed event. 27.The system of claim 15, the event comprising one or more inheritedproperties and one or more calculated properties, the one or moreinherited properties comprising an IP address of the computing platformof the web user application generating the event, a unique useridentifier, and/or an event time stamp, and the one or more calculatedproperties based upon event properties and the one or more inheritedproperties, the one or more calculated properties comprising geographiclocation of the computing platform and/or local time of the computingplatform.
 28. The system of claim 15, the event-driven contentcomprising different content for different web user applications for aparticular source file, based upon the business rules, response rules,instructions and/or pointer data.
 29. The system of claim 15 furthercomprising a customer webpage on a customer website that is in remotecommunication with the web user application and the backend server, theone or more even s communicated from the customer webpage to the backendserver, the one or more actions communicated from the backend server tothe customer page, the web portal configured for viewing by web userapplications as part of the customer webpage.
 30. The system of claim 15further comprising a library of the event-driven content and/or visualmarker data, the library comprising one or more databases of theevent-driven content and/or the visual marker data, instructions forretrieving the one or more event-driven content and/or the visualmarkers from memory, and/or instructions for retrieving the source filesfrom memory; and the backend server configured to provide instructionsfor accessing one or more event-driven content from the library forcreating and/or displaying event-driven content enabled for a sourcefile.
 31. The system of claim 15 further comprising a video repositorycomprising one or more databases or memory for storing the source filesthat is remote from the backend server; the backend server configured toprovide instructions for accessing one or more source files from thevideo repository for creating and/or playing event-driven contentenabled for a source file stored in the video repository; and the sourcefiles from the video repository configured for display on the webportal.